package com.campus.secondhand.model.dto;

import java.math.BigDecimal;
import java.util.List;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 更新商品的DTO
 */
@Data
public class ProductUpdateDTO {
    /**
     * 商品ID
     */
    @NotNull(message = "商品ID不能为空")
    private Long id;

    /**
     * 商品名称
     */
    @Size(max = 100, message = "商品名称不能超过100个字符")
    private String name;

    /**
     * 商品价格
     */
    @Positive(message = "商品价格必须大于0")
    private BigDecimal price;

    /**
     * 商品原价
     */
    @Positive(message = "商品原价必须大于0")
    private BigDecimal originalPrice;

    /**
     * 商品描述
     */
    @Size(max = 1000, message = "商品描述不能超过1000个字符")
    private String description;

    /**
     * 商品成色：全新、几乎全新、轻微使用痕迹、明显使用痕迹、重度使用痕迹
     */
    private String condition;

    /**
     * 商品分类ID
     */
    private Long categoryId;

    /**
     * 商品位置经度
     */
    private BigDecimal longitude;

    /**
     * 商品位置纬度
     */
    private BigDecimal latitude;

    /**
     * 商品图片URL列表
     */
    @Size(max = 9, message = "商品图片数量不能超过9张")
    private List<String> imageUrls;


    private String locationDescription;

    /**
     * 商品状态：0-待售，1-已售出
     */
    private Integer status;
}